﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WordSelection = Microsoft.Office.Interop.Word.Selection;
using PowerPointSelection = PowerPoint.Selection;
using ExcelRange = Excel.Range;

namespace WPSPropertyPlugin.Objects
{
  public abstract class WPSApplicationEventArgs
  {
    public WPSApplicationEventArgs(WPSApplication application)
    {
      WPSApplication = application;
    }

    public WPSApplication WPSApplication { get; private set; }
  }

  public class WPSWordApplicationEventArgs : WPSApplicationEventArgs
  {
    public WordSelection Selection { get; private set; }

    public WPSWordApplicationEventArgs(WPSApplication application, WordSelection selection) : base(application)
    {
      Selection = selection;
    }
  }

  public class WPSPowerPointApplicationEventArgs : WPSApplicationEventArgs
  {
    public PowerPointSelection Selection { get; private set; }

    public WPSPowerPointApplicationEventArgs(WPSApplication application, PowerPointSelection selection) : base(application)
    {
      Selection = selection;
    }
  }

  public class WPSExcelApplicationEventArgs : WPSApplicationEventArgs
  {
    public dynamic Sheet { get; private set; }
    public dynamic ExcelRange { get; private set; }

    public WPSExcelApplicationEventArgs(WPSApplication application, dynamic sheet, ExcelRange range) : base(application)
    {
      Sheet = sheet;
      ExcelRange = range;
    }
  }
}
